package com.sq.universe.base.utils;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.extra.spring.SpringUtil;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.crypto.hash.SimpleHash;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * md5工具类
 */
public class MD5Utils {
    public static String stringToMD5(String plainText,String salt) {
        String source = plainText;
        //散列次数
        int hashIterations = 2;
        //散列一次:1b2814e7f4cbb32fea953252e45fface
        //散列两次:174aec66f457f5169dbb1922393b6b4c
        //构造方法中:
        //第一个参数:明文，原始密码
        //第二个参数:盐，通过使用随机数
        //第三个参数:散列的次数，比如散列两次，相当于md5(md5(''))
        Md5Hash md5Hash = new Md5Hash(source, salt, hashIterations);

        String password_md5 = md5Hash.toString();
        System.out.println(password_md5);

        //第一个参数:散列算法
        SimpleHash simpleHash = new SimpleHash("md5", source, salt, hashIterations);
        System.out.println(simpleHash.toString());
        return simpleHash.toString();
    }
}
